A “widget” is defined as a very small, stand-alone, application performing one or a few simple functions usually within a specific context. Widgets come in many shapes and sizes, but two of the most popular types today are Web widgets and Desktop widgets. Web widgets are intended for use on (embedding in) webpages. Desktop widgets are installed on local computers. Web widgets are applications that can be embedded into third party web sites by any user on a page where they have rights of authorship. Widgets allow users to turn personal content into dynamic web apps that can be shared on websites where the code can be installed. For example, a “Weather Report Widget” could report today's weather by accessing data from the Weather Channel. For website visitors to view the widget, it must be embedded in a webpage. Widgets have also been added to various operating systems, such as in a clock application.
Web widgets may be considered as downloadable applications which look and act like traditional applications but are implemented using web technologies including JavaScript, Flash, HTML and CSS. Many widgets use and depend on web Application Programming Interfaces exposed either by the browser or by a widget engine.